It is well known that user interfaces associated with conventional processor-based devices allow users to interact with such devices and application programs running thereon. For instance, a personal computer is one example of a processor-based device whose user interfaces may include a visual display, audio speaker, keyboard, mouse, etc. Such user interfaces permit the personal computer to output data, e.g., information and results, associated with the computer and/or applications to the user (e.g., via the display and speaker) and permit the user to input data, e.g., information and queries, to the computer and/or application (e.g., via the keyboard and mouse).
However, it is also known that such conventional user interfaces require the user to be in close physical proximity to the interfaces in order to perceive output information and results from the device or enter information and queries to the device. For instance, data presented on a visual display of a computer is typically sized by the device based on the assumption that the user is within a few feet of the screen and thus can adequately read text or view images thereon. Also, an input device such as a keyboard or mouse requires the user to be in close proximity since such devices require physical contact in order for the user to use them.
A significant problem arises, however, when a user of the processor-based device is not in close physical proximity to the interfaces. In such cases, the user may be unable to view data on the screen and/or may be unable to enter data on the input devices. Important information or results may be missed, as well as opportunities to enter information or queries. While a user may be able to hear audio information from the processing device at a distance outside of the user's adequate visible range, conventional devices and/or applications running on the devices are unaware of the user's location and therefore have no ability to know when an audible output would be preferable over a visual output. In any case, conventional applications are usually equipped to exclusively output either visual data or audio data.
There have been attempts made at providing simple processor-based and other devices with the ability to detect the proximity of an object in order to perform some function. For example, proximity detection is implemented in some sink faucets and bathroom urinals or toilets. In such cases, an infrared detector is used to detect whether an object, presumably a person, has moved into and/or out of a particular physical range with respect to the device. The result of such detection causes the sink faucet to turn on or off and, in the case of the urinal or toilet, to flush. Automatic door openers and burglar alarms generally work on the same principal. In all of these cases, however, proximity is used only as a trigger to initiate a simple action, e.g., turn on water, open a door, sound an alarm, etc. In none of these cases does the behavior of the system vary in a multiple-step or continuous manner as a function of proximity. Further, in none of these systems does the system's response vary in an arbitrarily complex manner. Still further, these conventional systems are basically concerned with the presence or absence of a person within a certain range, however, none of the systems discriminate with respect to the identity of the person.